package com.jack.lib.core.ext

import android.util.TypedValue
import com.blankj.utilcode.util.Utils

/**
 * author : chong.huang
 * create : 2021/12/31
 * desc   :
 */

val Int.MM
    get() = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_MM,
        this.toFloat(),
        Utils.getApp().resources.displayMetrics
    ).toInt()

val Int.DP
    get() = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_DIP,
        this.toFloat(),
        Utils.getApp().resources.displayMetrics
    ).toInt()

val Int.SP
    get() = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_SP,
        this.toFloat(),
        Utils.getApp().resources.displayMetrics
    ).toInt()

val Int.PX
    get() = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_PX,
        this.toFloat(),
        Utils.getApp().resources.displayMetrics
    )

val Int.PT
    get() = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_PT,
        this.toFloat(),
        Utils.getApp().resources.displayMetrics
    ).toInt()

val Int.IN
    get() = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_IN,
        this.toFloat(),
        Utils.getApp().resources.displayMetrics
    ).toInt()


val Float.MM
    get() = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_MM,
        this.toFloat(),
        Utils.getApp().resources.displayMetrics
    )

val Float.DPF
    get() = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_DIP,
        this.toFloat(),
        Utils.getApp().resources.displayMetrics
    )

val Float.SPF
    get() = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_SP,
        this.toFloat(),
        Utils.getApp().resources.displayMetrics
    )

val Float.PXF
    get() = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_PX,
        this.toFloat(),
        Utils.getApp().resources.displayMetrics
    )

val Float.PTF
    get() = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_PT,
        this.toFloat(),
        Utils.getApp().resources.displayMetrics
    )

val Float.INF
    get() = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_IN,
        this.toFloat(),
        Utils.getApp().resources.displayMetrics
    )